/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package upeu.cepre.business;

import java.sql.*;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;

import upeu.cepre.model.DetalleAlumnoCurso;

import upeu.cepre.model.Padre;
import upeu.cepre.util.DataBaseConexion;

/**
 *
 * INSERT INTO padre( idPadre , apellidosNombres , dni , direccion , telefono )
 * VALUES (?, ?, ?, ?, ? )
 *
 * @author Elvis Zanguetsu
 */
public class PadreManager {

    public Connection connection;

    public void Add(Padre padre) {
        try {
            connection = DataBaseConexion.getConexion();
            PreparedStatement preparedStatement =
                    connection.prepareStatement(" INSERT INTO padre( idPadre , apellidosNombres , dni , direccion , telefono ) VALUES (?, ?, ?, ?, ? )");

            preparedStatement.setString(1, padre.getIdPadre());
            preparedStatement.setString(2, padre.getApellidosNombres());
            preparedStatement.setString(3, padre.getDni());
            preparedStatement.setString(4, padre.getDireccion());
            preparedStatement.setString(5, padre.getTelefono());


            preparedStatement.executeUpdate();
            connection.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }


    }

    public Padre finById(String idPadre) {
        Padre padre = new Padre();


        try {
            connection = DataBaseConexion.getConexion();
            PreparedStatement preparedStatement = connection.prepareStatement("select * from padre where idPadre=?");
            preparedStatement.setString(1, idPadre);
            ResultSet rs = preparedStatement.executeQuery();

            if (rs.next()) {

                padre.setIdPadre(rs.getString("idPadre"));
                padre.setApellidosNombres(rs.getString("apellidosNombres"));
                padre.setDireccion(rs.getString("direccion"));
                padre.setDni(rs.getString("dni"));
                padre.setTelefono(rs.getString("telefono"));


            }

            connection.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }

        return padre;
    }

    public String ObtenerId() {

        java.util.Date ahora = new java.util.Date();
        SimpleDateFormat formateador = new SimpleDateFormat("ddMMyyyy");
        PadreManager trabManager = new PadreManager();
        int a = trabManager.Report().size();
        return formateador.format(ahora) + "Padre" + (a + 1);

    }

    public void Update(Padre padre) {
        try {
            connection = DataBaseConexion.getConexion();
            PreparedStatement preparedStatement = connection.prepareStatement(
                    " UPDATE  padre SET idPadre = ? , apellidosNombres = ? , dni =? , direccion =?, telefono = ? WHERE idPadre = ?");

            preparedStatement.setString(1, padre.getIdPadre());
            preparedStatement.setString(2, padre.getApellidosNombres());
            preparedStatement.setString(3, padre.getDni());
            preparedStatement.setString(4, padre.getDireccion());
            preparedStatement.setString(5, padre.getTelefono());
            preparedStatement.setString(6, padre.getIdPadre());

            preparedStatement.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    public List<Padre> Report() {
        List<Padre> listPadre = new ArrayList<Padre>();


        try {

            connection = DataBaseConexion.getConexion();
            Statement statement = connection.createStatement();
            PreparedStatement prepareestatemente = connection.prepareStatement("SELECT * FROM  padre");


            ResultSet rs = prepareestatemente.executeQuery();
            while (rs.next()) {
                Padre padre = new Padre();

                padre.setIdPadre(rs.getString("idPadre"));
                padre.setApellidosNombres(rs.getString("apellidosNombres"));
                padre.setDireccion(rs.getString("direccion"));
                padre.setDni(rs.getString("dni"));
                padre.setTelefono(rs.getString("telefono"));
                listPadre.add(padre);

            }
            connection.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }

        return listPadre;
    }
}
